package cn.com.nes.site.service.patrolPlan;

import cn.com.nes.common.web.CommonResult;
import cn.com.nes.site.entity.dto.patrolPlan.QueryPatrolDataItemDto;
import cn.com.nes.site.entity.dto.patrolPlan.QueryPatrolPlanByQueryDto;
import cn.com.nes.site.entity.vo.patrolPlan.*;
import cn.com.nes.site.entity.vo.workOrder.QueryPatrolPlanEquipmentRecordVo;
import cn.com.nes.site.service.workOrder.dto.QueryPatrolPlanEquipmentRecordDto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.HashMap;

/**
 * @author nes
 */
public interface PatrolService {

    /**
     * 创建巡检计划
     */
    CommonResult<CreatePatrolPlanVo> createPatrolPlan(CreatePatrolPlanVo createPatrolPlanVo);

    /**
     * 修改巡检计划
     */
    Long updatePatrolPlan(UpdatePatrolPlanVo updatePatrolPlanVo);

    Integer insertDefaultRecords(String companyId, String patrolPlanId, Long userId);

    void addDefaultDataItems(String patrolPlanId);
    /**
     * 巡检计划条件查询(分页)
     * @param vo
     * @return
     */
    Page<QueryPatrolPlanByQueryDto> queryPatrolPlanByQuery(QueryPatrolPlanByQueryVo vo);
    /**
     *根据条件获取当前用户巡检设备记录
     * @param vo
     * @return
     */

    public Page<QueryPatrolPlanEquipmentRecordDto>queryPatrolPlanEquipmentRecordByQuery(QueryPatrolPlanEquipmentRecordVo vo);


    /**
     * 根据设备,计划获取其检查内容
     * @param vo
     * @return
     */
    Page<QueryPatrolDataItemDto> queryPatrolDataItem(QueryPatrolDataItemVo vo);

    HashMap<String, Object> handlePatrolPlanEquipmentRecord(HandlePatrolPlanEquipmentReccordVo handlePatrolPlanEquipmentReccordVo, Integer userType);


    Integer delPatrolPlanEquipmentRecord(String patrolPlanId,String sbId);

    Integer terminatePlan(Long id);

}
